import requests
"""
requests库是做接口测试使用的

发起请求的必备要素：
请求方式
请求地址
端口号
请求参数：headers参数、body参数
"""
base_url = "http://121.40.86.4:8899"
# 发起登录请求：/adminapi/login
response = requests.post(url = base_url+"/adminapi/login",json = {"account":"admin","pwd":"Aa010903!"})
"""
url：请求地址
json：请求体
"""
# response 就是响应
# print(response.json()) # 打印响应体为json格式，返回的是python原始对象：字典
# print(type(response.json())) # 打印响应体为json格式，返回的是python原始对象：字典
"""
# 通过响应体取值
response_body = response.json()
# 提取token
token = response_body['data']['token']
# print(token)
# 提取title为主页
# title = response_body['data']['menus'][0]['title']
# print(title)
# 提取status
status = response_body['status']
assert status==200
"""
# print(response.url) # 获取URL
# print(response.cookies) # 获取响应cookie
# print(response.headers) # 获取响应头
# print(response.encoding) # 获取响应头字符编码
# print(response.elapsed.microseconds) # 获取响应时间
# print(response.text) # 文本格式返回
# print(response.content) # 二进制格式

"""
get和post请求方式的区别：
get是用来查询的，post是用来提交表单
get传参是跟在url后面传参用?来隔开，中间有多组参数的用&进行分隔;post传参放到请求体里面；
post支持json和form表单传参类型（支持content-type），get请求不支持content-type
get请求放到了url上面，请求不安全；post请求参数放到了body里面，对于get来说比较安全
get请求保存标签后，再次访问可以查看内容；post保存标签后，再次访问需重新提交表单（get请求回退是无害的，post请求回退需要重新提交）
"""
"""
# 发起get请求：方法一
response1 = requests.get(url = "http://www.baidu.com/s?wd=selenium")
# 查看响应
# print(response1.status_code) # 查看响应状态码
# print(response1.text)

# 发起get请求：方法二
response2 = requests.get(url = "http://www.baidu.com/s",params={"wd":"selenium"})
# 查看响应
# print(response2.status_code)
print(response1.text)
"""

# 使用requests上传图片
url = "https://graph.baidu.com/upload"
files = {
    'image':('333.png',open(r"C:\Users\Administrator\Desktop\333.png",'rb'),'image/png'),
}
# 发起请求
r = requests.post(url,files=files)
# 打印响应
print(r.json())


















